<template>
    <li>
        <label>
            <input type="checkbox" :checked="todo.done" @click="handlerCheck(todo.id)"/>
            <!-- 这样写是违反了vue的原则 修改的props的数据值，只是在vue的没有对于对象的数据修改做监视，所以不会报错。-->
            <!-- <input type="checkbox" v-model="todo.done"/>-->
            <span>{{ todo.title }}</span>
        </label>
        <button class="btn btn-danger" @click="handlerdelete(todo.id)">删除</button>
    </li>
</template>

<script>

export default {
    name: "MyItem",
    // 声明接受todo对象的。
    props: ['todo', 'checkTodo','deleteTodo'],
    methods: {
        // 勾选与取消勾选
        handlerCheck(id) {
            // 通知app组件将对应的todo对象的值进行取反
            this.checkTodo(id)
        },
        // 删除
        handlerdelete(id){
            if (confirm("确定删除吗？")){
                // 通知app组件将对应的todo对象的值进行取反
                this.deleteTodo(id)
            }
        }
    }
}
</script>

<style scoped>
/*item*/
li {
    list-style: none;
    height: 36px;
    line-height: 36px;
    padding: 0 5px;
    border-bottom: 1px solid #ddd;
}

li label {
    float: left;
    cursor: pointer;
}

li label li input {
    vertical-align: middle;
    margin-right: 6px;
    position: relative;
    top: -1px;
}

li button {
    float: right;
    display: none;
    margin-top: 3px;
}

li:before {
    content: initial;
}

li:last-child {
    border-bottom: none;
}

li:hover {
    background-color: #97a8be;
}

li:hover button {
    display: block;
}
</style>